/*
 * To change this license header, choose License Headers in Project Properties.
 * To change this template file, choose Tools | Templates
 * and open the template in the editor.
 */

package DAO;

import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.util.ArrayList;
import java.util.List;
import modelo.Detetive;

/**
 *
 * @author Amanda
 */
public class detetiveDao {
         public  Boolean Cadastrar(Detetive obj)
    {
        Boolean retorno = false;
        String sql = "INSERT INTO detetive (nome, email, numerocasos, nomeequipe) "
                + "VALUES(?,?,?,?)";
        PreparedStatement psm = Conexao.getPreparedStatement(sql);
        try {
            psm.setString(1, obj.getNome());
            psm.setString(2, obj.getEmail()); 
            psm.setInt(3, obj.getNumCasos());
            psm.setString(4, obj.getNomeEquipe());
            
            Integer resultado  = psm.executeUpdate();
            if(resultado>0)
            {
                retorno = true;
            }
            else
            {
                retorno = false;
            }
            
        } catch (SQLException ex) {
            System.out.println("Erro ao acessar o BD " + ex.getMessage());
            return false;
        }
        return retorno;
    
    }
    public List<Detetive> Listar()
    {
    List<Detetive> lista = new ArrayList<Detetive>();
     String sql = "SELECT * FROM detetive";
        PreparedStatement psm = Conexao.getPreparedStatement(sql);
        try {
            ResultSet resultado = psm.executeQuery();
            
            while(resultado.next())
            {
                Detetive obj = new Detetive();
                obj.setDetetiveid(resultado.getInt("detetiveid"));
                obj.setNome(resultado.getString("nome"));
                obj.setEmail(resultado.getString("email"));
                obj.setNumCasos(resultado.getInt("numerocasos"));
                obj.setNomeEquipe(resultado.getString("nomeequipe"));
                lista.add(obj);
            }            
        
        } catch (SQLException ex) {
            lista =null;
        }
    return lista;
    }
    
         public Boolean Excluir(Detetive obj)
    {
        Boolean retorno = false;
        String sql = "DELETE FROM detetive WHERE Detetiveid=?";
        PreparedStatement psm = Conexao.getPreparedStatement(sql);
        try {
           
            psm.setInt(1, obj.getDetetiveid());
            Integer resultado = psm.executeUpdate();
            if(resultado>0) {
                retorno = true;
            } else {
                retorno = false;
            }
        } catch (SQLException ex) {
            System.out.println("Erro ao conectar com o banco: " + ex.getMessage());
        }
        return retorno;
    }
    
}
